package com.googlecode.slotted.client;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Indicates that the field is to be tokenized by the AutoTokenizer place tokens. The
 * place will appear right after the Place name followed by a ':' and each value separated by
 * an '&'.  The parameter name will not be in the '&' separated list, the order the fields
 * appear in the class determines the order in the list.  (i.e. #goodbye:World!&Foo/child:1234)
 *
 * The useInEquals parameter determines if the field should be included in the equals() that is
 * generated by the AutoTokenizer.
 *
 * More information on AutoTokenizer and AutoHistoryMapper can be found on the wiki here:
 * https://code.google.com/p/slotted/wiki/AutoTokenizerAutoHistoryMapper
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TokenizerParameter {
    boolean useInEquals() default true;
}
